package com.adcc.foc.service;

import com.adcc.foc.domain.AuthRole;
import com.adcc.foc.domain.User;

import java.util.List;
import java.util.Map;

/**
 * Created by houxy on 2016/8/2.
 */
public interface UserService {
    //检查登录逻辑
    User checkLogin(String userName);

    //查询所有用户信息
    List<User> findAllUser();

    //获取登录者所在飞行队的下属人员
    List<User> findUserByLoaderOrgId(String orgId);

    //删除用户信息
    Map<String, Object> deleteUser(String id);

    //增加用户
    Map<String, Object> saveUser(String username, String password, String orgid, String compelltion, String roleId);

    //修改用户
    Map<String, Object> alterUser(String userId, String orgid, String roleId, String compelltion);

    //通过用户id查询登录者是否有维护用户和维护组织结构的权限
    List<AuthRole> findRoleByUserId(String userId);

    //通过用户名查询当前用户信息
    User findUserByUserName(String userName);

    //条件查询人员（数量）
    Long PageCounts(Map<String, Object> paramMap);

    //条件查询人员
    List<User> findByCondition(Map<String, Object> paramMap);

    //获取当前用户可以维护的部门和权限
    Map<String, Object> findDeptAndRoles(String orgId, String isShowAll);

    //获取选中用户的信息
    Map<String, Object> findUserInfoAndDeptAndRoles(String orgId, String isShowAll, String userId);

    // 更新用户信息
    void updateUser(User user);

    //重置选中用户密码
    void forceResetPassword(String userId);
}
